﻿//3090. 每个字符最多出现两次的最长子字符串
//给你一个字符串 s ，请找出满足每个字符最多出现两次的最长子字符串，并返回该子字符串的最大长度。

class Solution
{
public:
    unordered_map<char, int> table;
    int maximumLengthSubstring(string s)
    {
        int begin = 0, end = -1;
        int n = s.size();
        int len = 0;
        for (int end = 0; end < n; end++)
        {
            while (table[s[end]] == 2)
            {
                table[s[begin]]--;
                if (table[s[begin]] == 0)
                    table.erase(s[begin]);
                begin++;
            }
            table[s[end]]++;
            len = max(end - begin + 1, len);
        }
        return len;
    }
};